/*
 * GraphicLCD.h
 *
 *  Created on: 01.02.2011
 *      Author: JTH
 */

#ifndef GRAPHICLCD_H_
#define GRAPHICLCD_H_

//#include <WProgram.h>
#include "Arduino.h"
#include "SoftwareSerial.h"
#include <inttypes.h>
#include "Print.h"


typedef uint8_t byte;
const int lcdWidth  = 128;
const int lcdHeight =  64;

class GraphicLCD
{
public:
	GraphicLCD();
	//virtual ~GraphicLCD();
public:
	void print(char *data);
	void printat(byte xpos, byte ypos, String data);
	void clearScreen();
	void demo();
	void toggleSplashScreen();
	void setBackgroundBrightness(byte value);
	void setLCDBaudRate(long value);
	void setX(byte value);
	void setY(byte value);
	void setPixel(byte state);
	void drawLine(byte startX, byte startY, byte endX, byte endY, byte state);
	void drawCircle(byte startX, byte startY, byte radius, byte state);
	void drawBox(byte topLeftX, byte topLeftY, byte bottomRightX, byte bottomRightY, byte state);
	void eraseBox(byte topLeftX, byte topLeftY, byte bottomRightX, byte bottomRightY, byte state);
};
#endif /* GRAPHICLCD_H_ */
